home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 4 / Mac Giga-ROM 4.0 - 1993.toast / FILES / HYP / H-I / HomeSuite.cpt / Home Suite 2.0 / stack.txt < prev   
Text File  |  1989-02-26  |  8KB  |  273 lines

  1. -- stack: in.0
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x0 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 3
  11. -- first background id: 2660
  12. -- card count: 15
  13. -- first card id: 3017
  14. -- list block id: 5364
  15. -- print block id: 0
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 144384 bytes
  21. -- stack block size: 6656 bytes
  22. -- created by hypercard version: 0x00000000
  23. -- compacted by hypercard version: 0x00000000
  24. -- modified by hypercard version: 0x00000000
  25. -- opened by hypercard version: 0x00000000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x8000000008000000
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0x8888222288882222
  30. -- patterns[4]: 0x88AA22AA88AA22AA
  31. -- patterns[5]: 0xCCAA33AACCAA33AA
  32. -- patterns[6]: 0xEEAABBAAEEAABBAA
  33. -- patterns[7]: 0xEEBBBBEEEEBBBBEE
  34. -- patterns[8]: 0xFFBBFFEEFFBBFFEE
  35. -- patterns[9]: 0xFFBBFFFFFFBBFFFF
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xF0F0F0F00F0F0F0F
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. on startUp
  69.   getHomeInfo
  70.   pass startUp
  71.   hide menubar
  72.   hide message box
  73.   set the name of background button id 31 to "Menus On"
  74. end startUp
  75.  
  76. on enterkey
  77.   if the tool is "browse tool"
  78.   then choose button tool
  79. else if the tool is "button tool"
  80. then choose field tool
  81. else choose browse tool
  82. end enterkey
  83.  
  84. on resume
  85.   getHomeInfo
  86.   pass resume
  87. end resume
  88.  
  89. on getHomeInfo
  90.   global stacks,applications,documents,userName
  91.   set lockScreen to true
  92.   set lockMessages to true
  93.   push this card
  94.   go to card "User Preferences" of stack "Home"
  95.   put card field "User Name" into userName
  96.   set userLevel to card field "User Level"
  97.   set powerKeys to the hilite of button "Power Keys"
  98.   set blindTyping to the hilite of button "Blind Typing"
  99.   put field "paths" of card "stacks" into stacks
  100.   put field "paths" of card "applications" into applications
  101.   put field "paths" of card "documents" into documents
  102.   pop card
  103.   set lockScreen to false
  104.   set lockMessages to false
  105.   hide menubar
  106.   hide message box
  107.   set the name of background button id 31 to "Menus On"
  108. end getHomeInfo
  109.  
  110. on searchScript pattern,stackName -- search all scripts of a stack
  111.   set lockMessages to true
  112.   if stackName is not empty then go to stack stackName
  113.  
  114.   if the script of this stack contains pattern
  115.   then edit script of this stack
  116.  
  117.   repeat with i = 1 to the number of bkgnds
  118.     go to card 1 of bkgnd i
  119.     if the script of this bkgnd contains pattern
  120.     then edit script of bkgnd
  121.  
  122.     repeat with j = 1 to the number of bkgnd buttons
  123.       if the script of bkgnd button j contains pattern
  124.       then edit script of bkgnd button j
  125.     end repeat
  126.  
  127.     repeat with j = 1 to the number of bkgnd fields
  128.       if the script of bkgnd field j contains pattern
  129.       then edit script of bkgnd field j
  130.     end repeat
  131.  
  132.   end repeat
  133.  
  134.   repeat with i = 1 to the number of cards
  135.     go card i
  136.     if the script of this card contains pattern
  137.     then edit script of this card
  138.  
  139.     repeat with j = 1 to the number of card buttons
  140.       if the script of card button j contains pattern
  141.       then edit script of card button j
  142.     end repeat
  143.  
  144.     repeat with j = 1 to the number of card fields
  145.       if the script of card field j contains pattern
  146.       then edit script of card field j
  147.     end repeat
  148.  
  149.   end repeat
  150.   set lockMessages to false
  151. end searchScript
  152.  
  153. on mouseup
  154.   if the optionkey is not down then
  155.     exit mouseup
  156.   else
  157.     if the shiftkey is down then
  158.       edit script of this background
  159.     else
  160.       edit script of target
  161.     end if
  162.   end if
  163. end mouseup
  164.  
  165.  
  166. on newcard
  167.   ask "What do you want to name this card?"
  168.   set cursor to 4
  169.   put "Please wait while we fix things up for you..."
  170.   put it into newName
  171.   if newName is empty then
  172.     domenu delete card
  173.     exit newcard
  174.   end if
  175.   set the name of this card to newName
  176.   set lockscreen to true
  177.   put the short name of this background into rememberThis
  178.   push this card
  179.   go first card
  180.   pop card
  181.   set lockscreen to false
  182.   hide message window
  183. end newcard
  184.  
  185.  
  186. on controlbutton ref
  187.   if the commandkey is down then
  188.     visual dissolve to black
  189.     visual dissolve
  190.     go first card of background ref
  191.     exit controlbutton
  192.   end if
  193.  
  194.   set cursor to 4
  195.   put card field ref into theList
  196.   DoList "Card","Cancel",theList,one
  197.   get the result
  198.   if it is not empty then
  199.     visual scroll left to gray
  200.     visual scroll right
  201.     go card item 2 of it
  202.   end if
  203. end controlbutton
  204.  
  205. --
  206. -- LastPathComponent -- given a file pathname, returns the last
  207. -- component i.e. whatever comes after the last colon, if anything.
  208. -- From Dewi Williams
  209. --
  210. function LastPathComponent name
  211. -- scan backwards for the last colon.
  212. repeat with i = the length of name down to 1
  213.   if character i of name is ":" then exit repeat
  214. end repeat
  215.  
  216. if i is 1 then
  217.   -- Name was of the form ":thing" or "thing". Check for leading
  218.   -- colon, and adjust if necessary. Done for generality.
  219.   if first character of name is ":" then
  220.     put 2 into i
  221.   end if
  222. else
  223.   add 1 to i -- skip the colon
  224. end if
  225.  
  226. -- Name was of the form "Thing:otherthing". Return "otherThing".
  227. put empty into lastpath
  228. repeat with j = i to the length of name
  229.   put character j of name after lastpath
  230. end repeat
  231. return lastpath
  232. end LastPathComponent
  233.  
  234.  
  235. --
  236. -- OsErr: for displaying Operating system error codes returned by
  237. -- Sublaunch, RenameFile, MoveFile and DeleteFile XFCNs.
  238. -- From Dewi Williams
  239. --
  240. on OsErr err
  241.   -- Translate the most common ones
  242.   if err > 0 then -- XFCN convention
  243.     put "Parameter error with function" into errstr
  244.   else if err is -59 then
  245.     put "Problem during rename" into errstr
  246.   else if err is -54 then
  247.     put "Attempt to open locked file for writing" into errstr
  248.   else if err is -46 then
  249.     put "Volume locked by software" into errstr
  250.   else if err is -45 then
  251.     put "File locked" into errstr
  252.   else if err is -44 then
  253.     put "Volume locked by hardware" into errstr
  254.   else if err is -43 then
  255.     put "File not found" into errstr
  256.   else if err is -37 then
  257.     put "Bad volume or file name" into errstr
  258.   else if err is -36 then
  259.     put "I/O error" into errstr
  260.   else if err is -35 then
  261.     put "No such volume" into errstr
  262.   else if err is -34 then
  263.     put "Disk is full" into errstr
  264.   else if err is -49 then
  265.     put "File already open for writing" into errstr
  266.   else
  267.     put "Failed with error" && err into errstr
  268.   end if
  269.   answer errstr with "OK"
  270. end OsErr
  271.  
  272.  
  273.